package com.extend2;

public class Sub extends Base {
    // Sub构造器
    public Sub() {
        super(1,2);  // super指定使用父类的哪个构造器，完成父类的初始化
        System.out.println("Sub无参构造器");
    }
    public Sub(String name) {
        super(1,2);  // super指定使用父类的哪个构造器，完成父类的初始化
        System.out.println("Sub(String name)构造器");
    }

    public Sub(String name, int age){
        // 1. 想调用父类的无参构造器
        super();  // 或者什么都不写，默认调用了super()
        // 2. 调用父类的其它构造器
        //super(1);
    }

    // Sub特有方法
    public void sayOk() {

        // 非private的属性和方法可以在子类直接访问
        System.out.println("a = " + a + "\tb = " + b + "\tc = " + c);
        test100();  // public
        test200();  // protected
        test300();  // 默认

        // private的属性通过父类提供的公共方法间接访问
        System.out.println("d = " + getD());
    }
}
